www.gusucode.com > VC 模范QQ做的一个界面-源码程序 > VC 模范QQ做的一个界面-源码程序/code/MyQQ/MainPanel.cpp
//Download by http://www.NewXing.com // MainPanel.cpp : implementation file // #include "stdafx.h" #include "MyQQ.h" #include "MainPanel.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CMainPanel CMainPanel::CMainPanel() { m_pSTTree = new CTreeCtrlST; } CMainPanel::~CMainPanel() { delete m_pSTTree; } BEGIN_MESSAGE_MAP(CMainPanel, CWnd) //{{AFX_MSG_MAP(CMainPanel) ON_WM_CREATE() ON_WM_PAINT() ON_WM_SIZE() ON_WM_MOVING() ON_WM_NCACTIVATE() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CMainPanel message handlers int CMainPanel::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CWnd::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here m_pSkin = &(((CMyQQApp *)AfxGetApp())->m_AppSkin); m_pSTTree->Create(WS_CHILD | WS_VISIBLE | //TVS_HASLINES| TVS_LINESATROOT| TVS_HASBUTTONS | TVS_SHOWSELALWAYS, CRect(0,0,0,0), this, 1010); m_pSTTree->SetBkImage(m_pSkin->TreeBk); m_pSTTree->SetImageList(&m_pSkin->m_pILItemIcon,TVSIL_NORMAL); // CEdit* pEdit = m_pSTTree->GetEditControl(); m_pSTTree->SetItemHeight(48); TV_INSERTSTRUCT TreeCtrlItem; HTREEITEM hItem; TreeCtrlItem.hParent = TVI_ROOT; TreeCtrlItem.hInsertAfter = TVI_LAST; // TreeCtrlItem.item.iImage = 0; // TreeCtrlItem.item.iSelectedImage = 1; TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN; TreeCtrlItem.item.pszText =_T("在线用户"); hItem = m_pSTTree->InsertItem(&TreeCtrlItem); for (int xx = 0; xx < 4; xx ++) { TreeCtrlItem.hParent = hItem; TreeCtrlItem.hInsertAfter = TVI_LAST; // TreeCtrlItem.item.iImage =xx; // TreeCtrlItem.item.iSelectedImage =xx; TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN; TreeCtrlItem.item.pszText =_T("用户"); m_pSTTree->InsertItem(&TreeCtrlItem); } m_pSTTree->Expand(hItem,TVE_EXPAND); TreeCtrlItem.hParent = TVI_ROOT; TreeCtrlItem.hInsertAfter = TVI_LAST; // TreeCtrlItem.item.iImage = 0; // TreeCtrlItem.item.iSelectedImage = 1; TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN; TreeCtrlItem.item.pszText =_T("离线用户"); hItem = m_pSTTree->InsertItem(&TreeCtrlItem); for (xx = 2; xx < 6; xx ++) { TreeCtrlItem.hParent = hItem; TreeCtrlItem.hInsertAfter = TVI_LAST; // TreeCtrlItem.item.iImage = xx;// TreeCtrlItem.item.iSelectedImage = xx; TreeCtrlItem.item.mask=TVIF_IMAGE|TVIF_SELECTEDIMAGE| TVIF_TEXT|TVIF_CHILDREN; TreeCtrlItem.item.pszText =_T("cicn"); m_pSTTree->InsertItem(&TreeCtrlItem); } return 0; } void CMainPanel::OnPaint() { CPaintDC dc(this); // device context for painting // TODO: Add your message handler code here CRect rc; GetClientRect(&rc); dc.FillSolidRect(rc,RGB(255,255,255) ); // Do not call CWnd::OnPaint() for painting messages } void CMainPanel::OnSize(UINT nType, int cx, int cy) { CWnd::OnSize(nType, cx, cy); // TODO: Add your message handler code here m_pSTTree->MoveWindow(CRect(2, 15, cx, cy),TRUE); } void CMainPanel::OnMoving(UINT fwSide, LPRECT pRect) { CWnd::OnMoving(fwSide, pRect); // TODO: Add your message handler code here // Invalidate(); } BOOL CMainPanel::OnNcActivate(BOOL bActive) { // TODO: Add your message handler code here and/or call default // Invalidate(); return CWnd::OnNcActivate(bActive); }